package com.bkgy.modularbx.theme.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bkgy.commom.model.QueryDTO;
import com.bkgy.modularbx.theme.domain.ThemeData;
import com.bkgy.modularbx.theme.dto.ThemeDataDto;
import com.bkgy.sys.common.entity.ResultData;

/**
 * 主题数据服务接口
 */
public interface ThemeDataService extends IService<ThemeData> {

    /**
     * 新增主题数据
     *
     * @param themeData 主题数据信息
     * @return 操作结果
     */
    ResultData<Void> addThemeData(ThemeData themeData);

    /**
     * 分页查询主题数据
     *
     * @param queryDTO 查询条件和分页信息
     * @return 分页结果
     */
    ResultData<Page<ThemeData>> pageThemeData(QueryDTO<ThemeDataDto> queryDTO);

    /**
     * 删除主题数据
     *
     * @param themeGroupId 主题组ID
     * @param themeVariable 主题变量名
     * @return 操作结果
     */
    ResultData<Void> deleteThemeData(String themeGroupId, String themeVariable);

    /**
     * 更新主题数据
     *
     * @param themeData 主题数据信息
     * @return 操作结果
     */
    ResultData<Void> updateThemeData(ThemeData themeData);

    /**
     * 根据主键查询主题数据
     *
     * @param themeGroupId 主题组ID
     * @param themeVariable 主题变量名
     * @return 主题数据详情
     */
    ResultData<ThemeData> findById(String themeGroupId, String themeVariable);
}
